package main

import "fmt"

func main() {
	/*
		双层for循环
	Print()
	Println()
	Printf()
	 */
	 // i是用于控制行数
	 for i:=1;i<=5;i++{ //i=1,2,3,4,5
	 	//j是用于控制*的个数
		for j:=0;j<5;j++{ //j=0,1,2,3,4
			fmt.Print("*")
		}
		fmt.Println()
	}

	//2题
	for i:=1;i<=5;i++{
		//1.×
		for j:=0;j<i;j++{
			/*
			i=1, j=0		j<1
			i=2, j=0,1		j<2
			i=3, j=0,1,2	j<3
			i=4, j=0,1,2,3	j<4
			 */
			fmt.Print("*")
		}
		//2.换行
		fmt.Println()
	}

	fmt.Println("---------------------------------")

	for i:=1;i<=5;i++{//控制行
		//空格：4
		for k:=0;k<5-i;k++{ //k=0,1,2,3
		/*
		i=1, k=0,1,2,3		k<4
		i=2, k=0,1,2		k<3
		i=3, k=0,1			k<2
		 */
			fmt.Print(" ")
		}
		//星星：1
		for j:=0;j<i;j++{
			/*
			i=1,j=0		j<1
			i=2,j=0,1	j<2
			i=3,j=0,1,2	j<3
			 */
			fmt.Print("*")
		}
		//换行：1
		fmt.Println()

	}

	for i:=1;i<=5;i++{
		for k:=0;k<5-i;k++{
			fmt.Print(" ")
		}
		for j:=0;j<5;j++{
			fmt.Print("*")
		}
		fmt.Println()
	}


}
/*		行	*	换行
*****	1	5	1
*****	2	5	1
*****	3	5	1
*****	4	5	1
*****	5	5	1

		行	*	换行
*		1	1	1
**		2	2	1
***		3	3	1
****	4	4	1
*****	5	5	1

		行	空格		×		换行
    *	1	4		1		1
   **	2	3		2		1
  ***	3	2		3		1
 ****	4	1		4		1
*****	5	0		5		1

    *****
   *****
  *****
 *****
*****
 */


 /*
 乘法表：									行
 1×1=1									1
 2×1=2 2×2=4							2
 3×1=3 3×2=6 3×3=9						3
 。。。
 9×1=9 9×2=18 9×3=27.。。。。9×9=81


 水仙花数：三位数：[100,999]
		每个位上的数字的立方和，刚好等于该数字本身。那么就叫水仙花数，4个
		比如：153
			1*1*1 + 5*5*5 + 3*3*3 = 1+125+27=153


 使用数字：0-9，打印出所有的3位数。

 百元百鸡，一百元钱买100只鸡，公鸡5元一只，母鸡3元一只，小鸡1元3个。

 练习6：打印2-100内的素数

练习7：2 + 22 + 222+2222+22222
  */
